MoveAxisVelocity
下達一個永遠照特定速度移動之運動指令。
語法
KsCommandStatus MoveAxisVelocity(
int Index,
double Velocity,
double Acceleration,
double Deceleration,
double Jerk,
McDirection Direction,
McBufferMode BufferMode
);
參數
Index [in]:軸索引。索引以零為起點;別名將影響此參數。
Velocity [in]:指定速度的值,[單位/秒]。
Acceleration [in]:加速度值,單位由 McProfileType 類型決定,(馬達的增加能源) [單位/秒2] 或 [秒]。
Deceleration [in]:減速度值,單位由 McProfileType 類型決定,(馬達的減少能源) [單位/秒2] 或 [秒]。
Jerk [in]:加加速度值,單位由 McProfileType 類型決定,為 [單位/秒3] 或 [秒]。
Direction [in]:軸移動的方向,請見 McDirection 類型(不適用 mcShortestWay
)。
BufferMode [in]:定義如何融合兩功能的速度,請見 McBufferMode 類型。
回傳值
返回 KsCommandStatus 結構。
備註
範例
VOID RecordPosition(INT Index, DOUBLE Velocity, McDirection Direction) {
double PosRecord = 0;
//Configure the probe
McProbeTrigger ProbeTrigger = { 0 };
ProbeTrigger.TouchProbeId = 0;
ProbeTrigger.Software = FALSE;
ProbeTrigger.IndexPulse = TRUE;
ProbeTrigger.Edge = TRUE;
ProbeTrigger.AxisSwitch = FALSE;
ProbeTrigger.Index = 0;
ProbeTrigger.Offset = 0;
KsCommandStatus probe = SetAxisTouchProbe(Index, ProbeTrigger, FALSE, 0, 0, &PosRecord);
//Start moving
MoveAxisVelocity(Index, Velocity, 36000, 36000, 3600000, Direction, mcAborting);
//Wait for the position to be recorded
probe = WaitForCommand(30, TRUE, probe);
RtPrintf("Recorded position: %d\n", (int)PosRecord);
WaitForCommand(30, TRUE, HaltAxis(Index, 36000, 3600000, mcAborting));
}
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
標頭檔 | ksmotion.h | ksmotion.h |
程式庫 | KsApi_Rtss.lib | KsApi.lib |
參見